/*******************************************************************************
 * KindEditor - WYSIWYG HTML Editor for Internet
 * Copyright (C) 2006-2011 kindsoft.net
 *
 * @author Roddy <luolonghao@gmail.com>
 * @site http://www.kindsoft.net/
 * @licence http://www.kindsoft.net/license.php
 *******************************************************************************/

KindEditor.plugin("template", function(K) {
  var self = this,
    name = "template",
    lang = self.lang(name + "."),
    htmlPath = self.pluginsPath + name + "/html/";
  function getFilePath(fileName) {
    return (
      htmlPath +
      fileName +
      "?ver=" +
      encodeURIComponent(K.DEBUG ? K.TIME : K.VERSION)
    );
  }
  self.clickToolbar(name, function() {
    var lang = self.lang(name + "."),
      arr = [
        '<div style="padding:10px 20px;">',
        '<div class="ke-header">',
        // left start
        '<div class="ke-left">',
        lang.selectTemplate + " <select>"
      ];
    K.each(lang.fileList, function(key, val) {
      arr.push('<option value="' + key + '">' + val + "</option>");
    });
    html = [
      arr.join(""),
      "</select></div>",
      // right start
      '<div class="ke-right">',
      '<input type="checkbox" id="keReplaceFlag" name="replaceFlag" value="1" /> <label for="keReplaceFlag">' +
        lang.replaceContent +
        "</label>",
      "</div>",
      '<div class="ke-clearfix"></div>',
      "</div>",
      '<iframe class="ke-textarea" frameborder="0" style="width:458px;height:260px;background-color:#FFF;"></iframe>',
      "</div>"
    ].join("");
    var dialog = self.createDialog({
      name: name,
      width: 500,
      title: self.lang(name),
      body: html,
      yesBtn: {
        name: self.lang("yes"),
        click: function(e) {
          var doc = K.iframeDoc(iframe);
          self[checkbox[0].checked ? "html" : "insertHtml"](doc.body.innerHTML)
            .hideDialog()
            .focus();
        }
      }
    });
    var selectBox = K("select", dialog.div),
      checkbox = K('[name="replaceFlag"]', dialog.div),
      iframe = K("iframe", dialog.div);
    checkbox[0].checked = true;
    iframe.attr("src", getFilePath(selectBox.val()));
    selectBox.change(function() {
      iframe.attr("src", getFilePath(this.value));
    });
  });
});
